package cn.walls1717.wallsmall.common.exception;

/**
 * 错误状态码<br/>
 *
 * 10：通用 001：参数格式校验 002：短信验证码频率太高<br/>
 * 11：商品<br>
 * 12：订单<br>
 * 13：购物车<br>
 * 14：物流<br>
 * 15：用户<br>
 * 21：库存<br>
 *
 * @author walls1717
 * @since 2022/10/24 11:47
 **/
public enum BizCodeEnum {
    /** 系统未知异常 */
    UNKNOWN_EXCEPTION(10000, "系统未知异常"),
    /** 参数校验异常 */
    VALID_EXCEPTION(10001, "参数格式校验失败"),
    /** 请求流量过大异常 */
    TOO_MANY_REQUEST_EXCEPTION(10002, "请求流量过大"),
    /** 验证码频繁异常 */
    SMS_CODE_EXCEPTION(10002, "短信验证码发送频繁"),
    /** 商品上架错误 */
    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
    /** 用户已存在异常 */
    USER_EXIST_EXCEPTION(15001, "用户名已存在"),
    /** 手机号已存在异常 */
    PHONE_EXIST_EXCEPTION(15002, "手机号已存在"),
    /** 账号或密码错误 */
    ACCOUNT_PASSWORD_INVALID_EXCEPTION(15003, "账号或密码错误"),
    /** 库存不足 */
    NO_STOCK_EXCEPTION(21000, "库存不足");

    private final Integer code;
    private final String msg;

    BizCodeEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
